package com.lj.back.manage.scaffold.module.job.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lj.back.manage.scaffold.common.DTO.PageQuery;
import com.lj.back.manage.scaffold.module.job.DTO.ScheduleJobDTO;

/**
 * 定时任务service
 * @author lv
 * @version 1.0.0
 */
public interface ScheduleJobService {

    /**
     * 分页查询定时任务列表
     * @param pageQuery 分页查询条件
     * @return 分页信息
     */
    Page<ScheduleJobDTO> listJobs(PageQuery pageQuery);

    /**
     * 获取定时任务详情
     * @param id 任务ID
     * @return
     */
    ScheduleJobDTO getScheduleJobInfo(String id);

    /**
     * 修改定时任务详情需要检查定时任务拥有者
     * @param jobDTO
     * @return 是否成功
     */
    boolean updateScheduleJobCheckOwner(ScheduleJobDTO jobDTO);

    /**
     * 修改定时任务详情
     * @param jobDTO
     * @return 是否成功
     */
    boolean updateScheduleJob(ScheduleJobDTO jobDTO);

    /**
     * 恢复定时任务
     * @param jobDTO
     * @return
     */
    boolean resumeScheduleJob(ScheduleJobDTO jobDTO);

    /**
     * 暂停定时任务
     * @param jobDTO
     * @return
     */
    boolean pauseScheduleJob(ScheduleJobDTO jobDTO);
}
